/*
未完成
*/
package main

import (
	"fmt"
)

// func arrary_sum(nums []int) int {
// 	sum := 0
// 	for _, value := range nums {
// 		sum += value
// 	}
// 	return sum

// }

func maxSubArray(nums []int) int {
	// result := nums[0]
	// // var max int
	// // windows的size
	// for windowsSize := 1; windowsSize <= len(nums); windowsSize++ {
	// 	for j := 0; j <= len(nums)-windowsSize; j++ {
	// 		max := arrary_sum(nums[j : windowsSize+j])
	// 		if max > result {
	// 			result = max
	// 		}
	// 	}
	// }

	// return result
	max := nums[0]
	sum := 0

	for i := 0; i < len(nums); i++ {
		if sum > 0 {
			sum += nums[i]
		} else {
			sum = nums[i]
		}

		if max < sum {
			max = sum
		}
	}
	return max
}

func main() {
	nums := []int{-100000, -100}
	// print(arrary_sum(nums))
	des := maxSubArray(nums)
	fmt.Println(des)

}
